package py.fpuna.aiwa.compraventa.droid.db;

import py.fpuna.aiwa.compraventa.droid.db.CompraVentaContract.Tables;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class CompraVentaDatabase extends SQLiteOpenHelper {
	private static final String DATABASE_NAME = "CompraVenta.db";

	private static final int VER_1_0 = 1;
	private static final int DATABASE_VERSION = VER_1_0;

	public CompraVentaDatabase(Context context) {
		super(context, DATABASE_NAME, null, DATABASE_VERSION);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {

		// TABLA USUARIO
		db.execSQL("DROP TABLE IF EXISTS " + Tables.USUARIO);

		db.execSQL("CREATE TABLE " + Tables.USUARIO + " ( "
				+ CompraVentaContract.Usuario._ID
				+ " INTEGER PRIMARY KEY AUTOINCREMENT, "
				+ CompraVentaContract.Usuario.NOMBRE_USUARIO
				+ " TEXT UNIQUE NOT NULL, "
				+ CompraVentaContract.Usuario.PASSWORD + " TEXT NOT NULL, "
				+ CompraVentaContract.Usuario.ACTIVO + " TEXT NOT NULL, "
				+ CompraVentaContract.Usuario.ULT_MODIFICACION
				+ " TEXT NOT NULL)");

		// TABLA CLIENTE
		db.execSQL("DROP TABLE IF EXISTS " + Tables.CLIENTE);
		db.execSQL("CREATE TABLE " + Tables.CLIENTE + " ( "
				+ CompraVentaContract.Cliente._ID
				+ " INTEGER PRIMARY KEY AUTOINCREMENT, "
				+ CompraVentaContract.Cliente.ID_CLIENTE
				+ " TEXT UNIQUE NOT NULL, "
				+ CompraVentaContract.Cliente.NOMBRE + " TEXT NOT NULL, "
				+ CompraVentaContract.Cliente.DIRECCION + " TEXT, "
				+ CompraVentaContract.Cliente.RUC + " TEXT, "
				+ CompraVentaContract.Cliente.ACTIVO + " TEXT NOT NULL, "
				+ CompraVentaContract.Cliente.LATITUD + " TEXT, "
				+ CompraVentaContract.Cliente.LONGITUD + " TEXT, "
				+ CompraVentaContract.Cliente.SINCRONIZADO + " TEXT NOT NULL, "
				+ CompraVentaContract.Cliente.FOTOGRAFIA + " TEXT, "
				+ CompraVentaContract.Cliente.ULT_MODIFICACION
				+ " TEXT NOT NULL)");

		// TABLA PRODUCTO
		db.execSQL("DROP TABLE IF EXISTS " + Tables.PRODUCTO);
		db.execSQL("CREATE TABLE " + Tables.PRODUCTO + " ( "
				+ CompraVentaContract.Producto._ID
				+ " INTEGER PRIMARY KEY AUTOINCREMENT, "
				+ CompraVentaContract.Producto.ID_PRODUCTO
				+ " TEXT UNIQUE NOT NULL, "
				+ CompraVentaContract.Producto.NOMBRE + " TEXT NOT NULL, "
				+ CompraVentaContract.Producto.PRECIO + " TEXT NOT NULL, "
				+ CompraVentaContract.Producto.ACTIVO + " TEXT NOT NULL, "
				+ CompraVentaContract.Producto.ULT_MODIFICACION
				+ " TEXT NOT NULL)");

		// TABLA VENTA
		db.execSQL("DROP TABLE IF EXISTS " + Tables.VENTA);
		db.execSQL("CREATE TABLE " + Tables.VENTA + " ( "
				+ CompraVentaContract.Venta._ID
				+ " INTEGER PRIMARY KEY AUTOINCREMENT, "
				+ CompraVentaContract.Venta.CLIENTE + " TEXT NOT NULL, "
				+ CompraVentaContract.Venta.FECHA + " TEXT NOT NULL, "
				+ CompraVentaContract.Venta.TOTAL + " TEXT NOT NULL, "
				+ CompraVentaContract.Venta.SINCRONIZADO + " TEXT NOT NULL)");

		// TABLA DETALLE VENTA
		db.execSQL("DROP TABLE IF EXISTS " + Tables.DETALLE_VENTA);
		db.execSQL("CREATE TABLE " + Tables.DETALLE_VENTA + " ( "
				+ CompraVentaContract.DetalleVenta._ID
				+ " INTEGER PRIMARY KEY AUTOINCREMENT, "
				+ CompraVentaContract.DetalleVenta.PRODUCTO
				+ " TEXT NOT NULL, " + CompraVentaContract.DetalleVenta.PRECIO
				+ " TEXT NOT NULL, "
				+ CompraVentaContract.DetalleVenta.CANTIDAD
				+ " TEXT NOT NULL, " + CompraVentaContract.DetalleVenta.VENTA
				+ " TEXT NOT NULL)");
	}

	@Override
	public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
	}

	public static void deleteDatabase(Context context) {
		context.deleteDatabase(DATABASE_NAME);
	}

}